/*
 * @Description: jishupu-admin-template
 * @Author: 技术铺<jishupu@qq.com>
 * @Date: 2021-11-11
 */

import Vue from 'vue'
import Cookies from 'js-cookie'

// 样式
import 'normalize.css/normalize.css' // 重置浏览器默认样式
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css' // 自定义主题样式表
// import './styles/element-variables.scss'
import '@/styles/global.scss' // 全局样式

// 入口文件、状态管理、路由、权限控制、过滤器
import App from './App'
import store from './store'
import router from './router'
import '@/permission' // 权限控制
import * as filters from './filters' // 全局过滤
import { goBack, closeBack } from './utils/back'
import DictionaryService from './utils/dictionary-service' // 数据字典

// 其他
import i18n from './lang' // 多语言支持
import '@/icons' // 图标

//  if (process.env.NODE_ENV === 'production') {
//   const { mockXHR } = require('../mock')
//   mockXHR()
// }

// 注册插件
Vue.use(ElementUI, {
  size: Cookies.get('size') || 'medium',
  i18n: (key, value) => i18n.t(key, value)
})

// 过滤器注册
Object.keys(filters).forEach(key => {
  Vue.filter(key, filters[key])
})

// 返回、关闭返回
Vue.prototype.goBack = goBack
Vue.prototype.closeBack = closeBack

// 数据字典服务
Vue.prototype.dictionaryService = new DictionaryService()

Vue.config.productionTip = false

new Vue({
  el: '#app',
  router,
  store,
  i18n,
  render: h => h(App)
})
